package cn.swust.designpatternlearningplatform.service;

import cn.swust.designpatternlearningplatform.common.Result.R;
import cn.swust.designpatternlearningplatform.domain.bo.TrainingTopicBo;
import cn.swust.designpatternlearningplatform.domain.dto.ShowStudentDto;
import cn.swust.designpatternlearningplatform.domain.dto.StudentPersonalTrainingResultDto;
import cn.swust.designpatternlearningplatform.domain.dto.TeacherPaperListDto;
import cn.swust.designpatternlearningplatform.domain.dto.TestPaperDto;
import cn.swust.designpatternlearningplatform.domain.vo.TestPaperVo;
import cn.swust.designpatternlearningplatform.domain.vo.UpdateTestPaperTopic;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.util.List;
import java.util.Set;

public interface TeacherTestService {
    List<TeacherPaperListDto> getPaperListBySemester(String semester, String teacherNumber);

    List<TeacherPaperListDto> getPaperList(String teacherNumber);

    XSSFWorkbook getStudentScore(String testId);

    String deleteTestList(String testId);

    String addTestPaper(TestPaperVo testPaperVo,String teacherNumber);

    TestPaperDto selectTestPaper(String testId,String number);

    Object updateTestPaperTopic(UpdateTestPaperTopic updateTestPaperTopic);

    String getPaperName(String testId);

    Set<String> getStudentNumber(String testId);

    List<StudentPersonalTrainingResultDto> getStudentPersonalTraining(String testId, String studentNumber);

    List<ShowStudentDto> getStudentTest(String paperId, String classId, String semester);

    String publishTestPaper(String paperId);
}
